home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / 1_sample.asm < prev    next >
Assembly Source File  |  2002-08-03  |  677b  |  51 lines

  1. ; This example prints out
  2. ;  "HELLO WORLD!"
  3. ; by writing directly to
  4. ; Video Memory.
  5.  
  6. #make_BIN#
  7.  
  8. ; set segment register:
  9. MOV     AX, 0B800h
  10. MOV     DS, AX
  11.  
  12. ; print "HELLO" using DS
  13. ; as segment:
  14.  
  15. MOV [52h], 'H'
  16.  
  17. MOV [54h], 'E'
  18.  
  19. MOV [56h], 'L'
  20.  
  21. MOV [58h], 'L'
  22.  
  23. MOV [5Ah], 'O'
  24.  
  25.  
  26. ; print "WORD!" using ES
  27. ; as segment (better since
  28. ; this way you won't loose
  29. ; access to variables declared
  30. ; in code segment).
  31.  
  32. ; set segment registers:
  33. PUSH    CS
  34. POP     DS      ; DS = CS.
  35. MOV     AX, 0B800h
  36. MOV     ES, AX
  37.  
  38. MOV ES:[5Eh], 'W'
  39.  
  40. MOV ES:[60h], 'O'
  41.  
  42. MOV ES:[62h], 'R'
  43.  
  44. MOV ES:[64h], 'L'
  45.  
  46. MOV ES:[66h], 'D'
  47.  
  48. MOV ES:[68h], '!'
  49.  
  50. HLT
  51.